import { gameStore } from '@/store/gameStore'
import { globalStore } from '@/store/globalStore'
import { programStore } from '@/store/programStore'
import { recommendStore } from '@/store/recommendStore'
import { activityStore } from '@/store/activityStore'
import { orderStore } from '@/store/orderStore'
import { cityTreeStore } from '@/store/cityTreeStore'
import { certificateStore } from '@/store/certificateStore'
import { contestStore } from '@/store/contestStore'
import { locationStore } from '@/store/locationStore'
import { volunteerStore } from '@/store/volunteerStore'
import { appointmentStore } from '@/store/appointmentStore'
import { bookDeliveryStore } from '@/store/bookDeliveryStore'
import { scanBookStore } from '@/store/scanBookStore'
import { tabBarStore } from '@/store/tabBarStore'
import { userStore } from '@/store/userStore'
import { statusStore } from '@/store/statusStore'
class StoreManager {
  // @ts-ignore
  public gameState: ReturnType<typeof gameStore>
  // @ts-ignore
  public globalState: ReturnType<typeof globalStore>
  // @ts-ignore
  public programState: ReturnType<typeof programStore>
  // @ts-ignore
  public recommendState: ReturnType<typeof recommendStore>
  // @ts-ignore
  public activityState: ReturnType<typeof activityStore>
  // @ts-ignore
  public orderState: ReturnType<typeof orderStore>
  // @ts-ignore
  public cityTreeState: ReturnType<typeof cityTreeStore>
  // @ts-ignore
  public certificateState: ReturnType<typeof certificateStore>
  // @ts-ignore
  public contestState: ReturnType<typeof contestStore>
  // @ts-ignore
  public locationState: ReturnType<typeof locationStore>
  // @ts-ignore
  public volunteerState: ReturnType<typeof volunteerStore>
  // @ts-ignore
  public appointmentState: ReturnType<typeof appointmentStore>
  // @ts-ignore
  public bookDeliveryState: ReturnType<typeof bookDeliveryStore>
  // @ts-ignore
  public scanBookState: ReturnType<typeof scanBookStore>
  // @ts-ignore
  public tabBarState: ReturnType<typeof tabBarStore>
  // @ts-ignore
  public userState: ReturnType<typeof userStore>
  // @ts-ignore
  public statusState: ReturnType<typeof statusStore>

  public initStore() {
    this.gameState = gameStore()
    this.globalState = globalStore()
    this.programState = programStore()
    this.recommendState = recommendStore()
    this.activityState = activityStore()
    this.orderState = orderStore()
    this.cityTreeState = cityTreeStore()
    this.certificateState = certificateStore()
    this.contestState = contestStore()
    this.locationState = locationStore()
    this.volunteerState = volunteerStore()
    this.appointmentState = appointmentStore()
    this.bookDeliveryState = bookDeliveryStore()
    this.scanBookState = scanBookStore()
    this.tabBarState = tabBarStore()
    this.userState = userStore()
    this.statusState = statusStore()
  }
}
const store = new StoreManager()

export default store
